﻿namespace WMS6.Web.LoginServiceRef
{
    using System;
    using System.CodeDom.Compiler;
    using System.ComponentModel;
    using System.Diagnostics;
    using System.Runtime.CompilerServices;
    using System.Runtime.Serialization;

    [Serializable, DebuggerStepThrough, DataContract(Name="PreferenceInfo", Namespace="http://schemas.datacontract.org/2004/07/WMS6.DataEntity"), GeneratedCode("System.Runtime.Serialization", "3.0.0.0")]
    public class PreferenceInfo : IExtensibleDataObject, INotifyPropertyChanged
    {
        [OptionalField]
        private string CountryField;
        [OptionalField]
        private string CurrencyField;
        [OptionalField]
        private string DateFormatField;
        [OptionalField]
        private string Digits_NoField;
        [NonSerialized]
        private ExtensionDataObject extensionDataField;
        [OptionalField]
        private string LangField;
        [OptionalField]
        private string ThemesField;
        [OptionalField]
        private string Time_FormatField;
        [OptionalField]
        private string TimeField;
        [OptionalField]
        private string TimeZoneField;

        public event PropertyChangedEventHandler PropertyChanged;

        protected void RaisePropertyChanged(string propertyName)
        {
            PropertyChangedEventHandler propertyChanged = this.PropertyChanged;
            if (propertyChanged != null)
            {
                propertyChanged(this, new PropertyChangedEventArgs(propertyName));
            }
        }

        [DataMember]
        public string Country
        {
            get
            {
                return this.CountryField;
            }
            set
            {
                if (!object.ReferenceEquals(this.CountryField, value))
                {
                    this.CountryField = value;
                    this.RaisePropertyChanged("Country");
                }
            }
        }

        [DataMember]
        public string Currency
        {
            get
            {
                return this.CurrencyField;
            }
            set
            {
                if (!object.ReferenceEquals(this.CurrencyField, value))
                {
                    this.CurrencyField = value;
                    this.RaisePropertyChanged("Currency");
                }
            }
        }

        [DataMember]
        public string DateFormat
        {
            get
            {
                return this.DateFormatField;
            }
            set
            {
                if (!object.ReferenceEquals(this.DateFormatField, value))
                {
                    this.DateFormatField = value;
                    this.RaisePropertyChanged("DateFormat");
                }
            }
        }

        [DataMember]
        public string Digits_No
        {
            get
            {
                return this.Digits_NoField;
            }
            set
            {
                if (!object.ReferenceEquals(this.Digits_NoField, value))
                {
                    this.Digits_NoField = value;
                    this.RaisePropertyChanged("Digits_No");
                }
            }
        }

        [Browsable(false)]
        public ExtensionDataObject ExtensionData
        {
            get
            {
                return this.extensionDataField;
            }
            set
            {
                this.extensionDataField = value;
            }
        }

        [DataMember]
        public string Lang
        {
            get
            {
                return this.LangField;
            }
            set
            {
                if (!object.ReferenceEquals(this.LangField, value))
                {
                    this.LangField = value;
                    this.RaisePropertyChanged("Lang");
                }
            }
        }

        [DataMember]
        public string Themes
        {
            get
            {
                return this.ThemesField;
            }
            set
            {
                if (!object.ReferenceEquals(this.ThemesField, value))
                {
                    this.ThemesField = value;
                    this.RaisePropertyChanged("Themes");
                }
            }
        }

        [DataMember]
        public string Time
        {
            get
            {
                return this.TimeField;
            }
            set
            {
                if (!object.ReferenceEquals(this.TimeField, value))
                {
                    this.TimeField = value;
                    this.RaisePropertyChanged("Time");
                }
            }
        }

        [DataMember]
        public string Time_Format
        {
            get
            {
                return this.Time_FormatField;
            }
            set
            {
                if (!object.ReferenceEquals(this.Time_FormatField, value))
                {
                    this.Time_FormatField = value;
                    this.RaisePropertyChanged("Time_Format");
                }
            }
        }

        [DataMember]
        public string TimeZone
        {
            get
            {
                return this.TimeZoneField;
            }
            set
            {
                if (!object.ReferenceEquals(this.TimeZoneField, value))
                {
                    this.TimeZoneField = value;
                    this.RaisePropertyChanged("TimeZone");
                }
            }
        }
    }
}

